// pages/gongzuopaiban/gongzuopaiban.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    startDate: '2000-01-01',  // 可选最小日期
    endDate: '2030-12-31',    // 可选最大日期
    startDateValue: '',       // 显示的开始日期
    endDateValue: '',         // 显示的结束日期
    daysDiff: null,           // 间隔天数
    errorMsg: ''    , 
    schedulePlans:[
      {
        id:1,name:'早班计划',
       
      },{
         id: 2, name: "中班计划" 
      },
      {
        id: 3, name: "晚班计划"
      }
    ],
    staffList: [
      { id: 101, name: "张三" },
      { id: 102, name: "李四" },
      { id: 103, name: "王五" },
      { id: 104, name: "赵六" }
    ],
    currentSchedule: null,
    currentStaff: null
  },
  bindScheduleChange(e) {
    const index = e.detail.value;
    this.setData({
      currentSchedule: this.data.schedulePlans[index]
    });
    console.log('选择的排班计划:', this.data.schedulePlans[index]);
  },

  // 员工选择变化
  bindStaffChange(e) {
    const index = e.detail.value;
    this.setData({
      currentStaff: this.data.staffList[index]
    });
    console.log('选择的员工:', this.data.staffList[index]);
  },
  
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
   
    
  },
   
changeStartDate(e) {
  const date = e.detail.value;
  this.setData({
    startDateValue: date,
    errorMsg: ''
  }, () => {
    this.calculateDays();
  });
},
changeEndDate(e) {
  const date = e.detail.value;
  this.setData({
    endDateValue: date,
    errorMsg: ''
  }, () => {
    this.calculateDays();
  });
},

// 计算间隔天数
calculateDays() {
  if (!this.data.startDateValue || !this.data.endDateValue) return;
  
  const start = new Date(this.data.startDateValue);
  const end = new Date(this.data.endDateValue);
  
  // 验证日期顺序
  if (end < start) {
    this.setData({
      daysDiff: null,
      errorMsg: '结束日期不能早于开始日期'
    });
    return;
  }
  
  // 计算天数差
  const timeDiff = end - start;
  const daysDiff = Math.ceil(timeDiff / (1000 * 60 * 60 * 24)) + 1; // 包含首尾两天
  
  this.setData({
    daysDiff,
    errorMsg: ''
  });
},

// 设置默认选中今天（可选）
onLoad() {
  const today = this.formatDate(new Date());
  this.setData({
    startDateValue: today,
    endDateValue: today
  });
},

// 日期格式化
formatDate(date) {
  const year = date.getFullYear();
  const month = String(date.getMonth() + 1).padStart(2, '0');
  const day = String(date.getDate()).padStart(2, '0');
  return `${year}-${month}-${day}`;
},

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})